package cn.iocoder.yudao.framework.pay.core.client.impl.pax.enums;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;

/**
 * 商品分类
 */
public enum GoodsCategoryEnum {
    // 电子产品与计算机
    ELECTRONICS_AND_COMPUTERS("0000"),
    // 书籍、音乐与电影
    BOOKS_MUSIC_AND_MOVIES("1000"),
    // 家居、花园与工具
    HOME_GARDEN_AND_TOOLS("2000"),
    // 服装、鞋子与包包
    CLOTHING_SHOES_AND_BAGS("3000"),
    // 玩具、儿童与婴儿用品
    TOYS_CHILDREN_AND_BABY_PRODUCTS("4000"),
    // 汽车与配件
    AUTOMOTIVE_AND_PARTS("5000"),
    // 游戏与充值
    GAMES_AND_RECHARGE("6000"),
    // 娱乐与收藏
    ENTERTAINMENT_AND_COLLECTIBLES("7000"),
    // 珠宝
    JEWELRY("8000"),
    // 家政服务
    DOMESTIC_SERVICES("9000"),
    // 美容护理
    BEAUTY_AND_PERSONAL_CARE("A000"),
    // 药品
    MEDICINES("B000"),
    // 运动与户外
    SPORTS_AND_OUTDOORS("C000"),
    // 食品、杂货与健康产品
    GROCERIES_HEALTH_PRODUCTS("D000"),
    // 宠物用品
    PET_SUPPLIES("E000"),
    // 工业与科学
    INDUSTRIAL_AND_SCIENTIFIC("F000"),
    // 其他
    OTHER("Z000");;

    private final String value;

    GoodsCategoryEnum(String value) {
        this.value = value;
    }

    // Jackson deserialization method
    @JsonCreator
    public static GoodsCategoryEnum fromValue(String value) {
        for (GoodsCategoryEnum status : GoodsCategoryEnum.values()) {
            if (status.value.equalsIgnoreCase(value)) {
                return status;
            }
        }
        throw new IllegalArgumentException("Invalid goodsCategory: " + value);
    }

    // Jackson serialization method
    @JsonValue
    public String getValue() {
        return value;
    }

}
